package com.dhcc.bpm.alarm.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author xiafayu
 * @since 2022-02-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("ALARM_NOTICE")
@ApiModel(value="AlarmNotice对象", description="预警表")
public class AlarmNotice implements Serializable {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "主键")
    @TableId(
            value = "ID",
            type = IdType.ASSIGN_ID
    )
    @JsonSerialize(
            using = ToStringSerializer.class,
            nullsUsing = NullSerializer.class
    )
    private Long id;

    @ApiModelProperty(value = "系统编号")
    @TableField("SYSTEMNO")
    private String systemno;

    @ApiModelProperty(value = "系统名称")
    @TableField("SYSTEMNAME")
    private String systemname;

    @ApiModelProperty(value = "告警名称")
    @TableField("NOTICE_NAME")
    private String noticeName;

    @ApiModelProperty(value = "告警编号")
    @TableField("NOTICE_CODE")
    private String noticeCode;

    @ApiModelProperty(value = "场景编码/交易代码")
    @TableField("TX_CODE")
    private String txCode;

    @ApiModelProperty(value = "场景描述")
    @TableField("TX_DESC")
    private String txDesc;

    @ApiModelProperty(value = "告警类型：01单个对象02群组方式")
    @TableField("NOTICE_TYPE")
    private String noticeType;

    @ApiModelProperty(value = "告警对象名称/告警对象群组名称")
    @TableField("NOTICE_OBJECT")
    private String noticeObject;

    @ApiModelProperty(value = "告警对象号码/URL告警对象群组编码")
    @TableField("NOTICE_OBJNO")
    private String noticeObjno;

    @ApiModelProperty(value = "告警等级01")
    @TableField("EXCEPTION_LEVEL")
    private String exceptionLevel;

    @ApiModelProperty(value = "策略名称")
    @TableField("STRATEGY_NAME")
    private String strategyName;

    @ApiModelProperty(value = "策略编号")
    @TableField("STRATEGY_CODE")
    private String strategyCode;

    @ApiModelProperty(value = "通知方式01短信02微信03企业微信04API05H5")
    @TableField("NOTICE_METHOD")
    private String noticeMethod;

    @ApiModelProperty(value = "创建人")
    @TableField("CREATE_USER")
    private String createUser;

    @ApiModelProperty(value = "创建部门")
    @TableField("CREATE_DEPT")
    private String createDept;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME")
    private String createTime;

    @ApiModelProperty(value = "更新者")
    @TableField("UPDATE_USER")
    private String updateUser;

    @ApiModelProperty(value = "更新时间")
    @TableField("UPDATE_TIME")
    private String updateTime;

    @ApiModelProperty(value = "租户ID")
    @TableField("TENANT_ID")
    private String tenantId;

    @ApiModelProperty(value = "状态")
    @TableField("ALARM_STATUS")
    private String alarmStatus;

    @ApiModelProperty(value = "删除标识")
    @TableField("IS_DELETED")
    private String isDeleted;

    @ApiModelProperty(value = "环境字段(生产，沙箱）")
    @TableField("ALARM_ENV")
    private String alarmEnv;


}
